import { useI18n } from '/@/hooks/web/useI18n';
import { BasicColumn, BasicTableProps, FormProps } from '/@/components/Table';
import { basMoldListData } from '/@/api/bas/mold/basMold';
const { t } = useI18n('sys.empUser');

const modalProps = {
  title: t('工装选择'),
};

const searchForm: FormProps = {
  baseColProps: { lg: 6, md: 8 },
  labelWidth: 90,
  schemas: [
    {
      label: t('工装编码'),
      field: 'code',
      component: 'Input',
    },
    {
      label: t('工装名称'),
      field: 'name',
      component: 'Input',
    },
  ],
};

const tableColumns: BasicColumn[] = [
  {
    title: t('工装编码'),
    dataIndex: 'code',
    key: 'a.code',
    sorter: true,
    width: 230,
    align: 'left',
    //fixed: 'left',
    slot: 'firstColumn',
  },
  {
    title: t('工装尾号'),
    dataIndex: 'lastNum',
    key: 'a.lastNum',
    sorter: true,
    width: 130,
    align: 'left',
    //fixed: 'left',
  },
  {
    title: t('工装名称'),
    dataIndex: 'name',
    key: 'a.name',
    sorter: true,
    width: 230,
    align: 'left',
    //fixed: 'left',
  },
  {
    title: t('工装代码'),
    dataIndex: 'caddcode',
    key: 'a.caddcode',
    sorter: true,
    width: 130,
    align: 'left',
    //fixed: 'left',
  },
  {
    title: t('工装状态'),
    dataIndex: 'moldStatus',
    key: 'a.mold_status',
    sorter: true,
    dictType: 'bas_mold_status',
    width: 100,
    align: 'center',
    //fixed: 'left',
  },
  {
    title: t('工装类型'),
    dataIndex: 'basMoldCls.name',
    key: 'cls.code',
    sorter: true,
    width: 100,
    align: 'center',
    //fixed: 'left',
  },
  {
    title: t('存货编码'),
    dataIndex: 'basInv.cinvcode',
    key: 'inv.cinvcode',
    sorter: true,
    width: 150,
    align: 'left',
  },
  {
    title: t('存货名称'),
    dataIndex: 'basInv.cinvname',
    key: 'inv.cinvname',
    sorter: true,
    width: 200,
    align: 'left',
  },
  {
    title: t('工序'),
    dataIndex: 'basOper.operName',
    key: 'oper.oper_name',
    sorter: true,
    width: 130,
    align: 'center',
  },
  {
    title: t('所在位置编码'),
    dataIndex: 'locationCode',
    key: 'a.location_code',
    sorter: true,
    width: 130,
    align: 'left',
  },
  {
    title: t('所在位置名称'),
    dataIndex: 'locationName',
    key: 'a.location_name',
    sorter: true,
    width: 130,
    align: 'left',
  },
  {
    title: t('所在部门编码'),
    dataIndex: 'depCode',
    key: 'a.dep_code',
    sorter: true,
    width: 130,
    align: 'left',
  },
  {
    title: t('所在部门名称'),
    dataIndex: 'depName',
    key: 'a.dep_name',
    sorter: true,
    width: 130,
    align: 'left',
  },
  {
    title: t('是否共模'),
    dataIndex: 'bcomomMode',
    key: 'a.bcomom_mode',
    sorter: true,
    dictType: 'sys_yes_no',
    width: 100,
    align: 'center',
  },
  {
    title: t('供应商名称'),
    dataIndex: 'venName',
    key: 'a.ven_name',
    sorter: true,
    width: 130,
    align: 'left',
  },
  {
    title: t('购买日期'),
    dataIndex: 'buyDate',
    key: 'a.buy_date',
    sorter: true,
    width: 130,
    align: 'center',
  },
  {
    title: t('制作日期'),
    dataIndex: 'makeDate',
    key: 'a.make_date',
    sorter: true,
    width: 130,
    align: 'center',
  },
  {
    title: t('安装日期'),
    dataIndex: 'installDate',
    key: 'a.install_date',
    sorter: true,
    width: 130,
    align: 'center',
  },
  {
    title: t('验收日期'),
    dataIndex: 'checkDate',
    key: 'a.check_date',
    sorter: true,
    width: 130,
    align: 'center',
  },
  {
    title: t('使用日期'),
    dataIndex: 'useDate',
    key: 'a.use_date',
    sorter: true,
    width: 130,
    align: 'center',
  },
  {
    title: t('保修截止日期'),
    dataIndex: 'expiryDate',
    key: 'a.expiry_date',
    sorter: true,
    width: 130,
    align: 'center',
  },
  {
    title: t('创建人'),
    dataIndex: 'createByName',
    key: 'a.create_by_name',
    sorter: true,
    width: 130,
    align: 'left',
  },
  {
    title: t('创建时间'),
    dataIndex: 'creatDate',
    key: 'a.create_date',
    sorter: true,
    width: 130,
    align: 'left',
  },
  {
    title: t('理论加工次数'),
    dataIndex: 'iquantity',
    key: 'a.iquantity',
    sorter: true,
    width: 130,
    align: 'right',
    //fixed: 'right',
  },
  {
    title: t('可用次数'),
    dataIndex: 'iqty',
    key: 'a.iqty',
    sorter: true,
    width: 100,
    align: 'right',
    //fixed: 'right',
  },
  {
    title: t('加工次数'),
    dataIndex: 'useQty',
    key: 'a.use_qty',
    sorter: true,
    width: 100,
    align: 'right',
    //fixed: 'right',
  },
  {
    title: t('追加次数'),
    dataIndex: 'addQty',
    key: 'a.add_qty',
    sorter: true,
    width: 100,
    align: 'right',
    //fixed: 'right',
  },
  {
    title: t('保养次数'),
    dataIndex: 'byQty',
    key: 'a.by_qty',
    sorter: true,
    width: 100,
    align: 'right',
    //fixed: 'right',
  },
  {
    title: t('点检人'),
    dataIndex: 'checker',
    key: 'a.checker',
    sorter: true,
    width: 130,
    align: 'left',
    //fixed: 'right',
  },
];

const tableProps: BasicTableProps = {
  api: basMoldListData,
  beforeFetch: (params) => {
    params['isAll'] = true;
    return params;
  },
  columns: tableColumns,
  formConfig: searchForm,
  rowKey: 'id',
};

export default {
  modalProps,
  tableProps,
  itemCode: 'code',
  itemName: 'name',
};
